#include "fxcc/yml/Serializer.h"
#include "fxcc/mono/ClazzIndex.h"

using namespace YAML;
using namespace fxcc::yml;
using namespace mono;

template<>
void Serializer::Encode<ClazzIndex>(YAML::Node& node, const ClazzIndex& inst)
{
	SetVariable<std::string>(node, "dllName", inst.m_DllName);
	SetVariable<std::string>(node, "namespaceName", inst.m_NamespaceName);
	SetVariable<std::string>(node, "clazzName", inst.m_ClazzName);
}


template<>
bool Serializer::Decode<ClazzIndex>(const YAML::Node& node, ClazzIndex& inst)
{
	GetVariable<std::string>(node, "dllName", inst.m_DllName);
	GetVariable<std::string>(node, "namespaceName", inst.m_NamespaceName);
	GetVariable<std::string>(node, "clazzName", inst.m_ClazzName);
	return true;
}